package storeEntity

import (
	"github.com/goravel/framework/database/orm"
	"goravel/app/models/common"
)

type Commodity struct {
	orm.Model
	SiteID            uint   `json:"site_id" gorm:"column:site_id" form:"site_id"`                               // 站点ID
	ShopCode          string `json:"shopcode" gorm:"column:shopcode" form:"shopcode"`                            // 店铺代码
	Spucode           string `json:"spucode" gorm:"column:spucode" form:"spucode"`                               // 商品编码
	CommodityName     string `json:"commodityname" gorm:"column:commodityname" form:"commodityname"`             // 商品名称
	CategoryCode      string `json:"categorycode" gorm:"column:categorycode" form:"categorycode"`                // 分类编码
	CategoryName      string `json:"categoryname" gorm:"column:categoryname" form:"categoryname"`                // 分类名称
	CommodityPic      string `json:"commoditypic" gorm:"column:commoditypic" form:"commoditypic"`                // 商品图片
	ExtCommodityPic   string `json:"extcommoditypic" gorm:"column:extcommoditypic" form:"extcommoditypic"`       // 扩展商品图片
	Mnemonic          string `json:"mnemonic" gorm:"column:mnemonic" form:"mnemonic"`                            // 助记码
	Category1Code     string `json:"category1code" gorm:"column:category1code" form:"category1code"`             // 一级分类编码
	Category2Code     string `json:"category2code" gorm:"column:category2code" form:"category2code"`             // 二级分类编码
	Category3Code     string `json:"category3code" gorm:"column:category3code" form:"category3code"`             // 三级分类编码
	Category4Code     string `json:"category4code" gorm:"column:category4code" form:"category4code"`             // 四级分类编码
	Category1Name     string `json:"category1name" gorm:"column:category1name" form:"category1name"`             // 一级分类名称
	Category2Name     string `json:"category2name" gorm:"column:category2name" form:"category2name"`             // 二级分类名称
	Category3Name     string `json:"category3name" gorm:"column:category3name" form:"category3name"`             // 三级分类名称
	Category4Name     string `json:"category4name" gorm:"column:category4name" form:"category4name"`             // 四级分类名称
	SpecCode01        string `json:"speccode01" gorm:"column:speccode01" form:"speccode01"`                      // 规格编码1
	SpecName01        string `json:"specname01" gorm:"column:specname01" form:"specname01"`                      // 规格名称1
	SpecValues01      string `json:"specvalues01" gorm:"column:specvalues01" form:"specvalues01"`                // 规格值1
	SpecCode02        string `json:"speccode02" gorm:"column:speccode02" form:"speccode02"`                      // 规格编码2
	SpecName02        string `json:"specname02" gorm:"column:specname02" form:"specname02"`                      // 规格名称2
	SpecValues02      string `json:"specvalues02" gorm:"column:specvalues02" form:"specvalues02"`                // 规格值2
	SpecCode03        string `json:"speccode03" gorm:"column:speccode03" form:"speccode03"`                      // 规格编码3
	SpecName03        string `json:"specname03" gorm:"column:specname03" form:"specname03"`                      // 规格名称3
	SpecValues03      string `json:"specvalues03" gorm:"column:specvalues03" form:"specvalues03"`                // 规格值3
	BrandName         string `json:"brandname" gorm:"column:brandname" form:"brandname"`                         // 品牌名称
	BrandCode         string `json:"brandcode" gorm:"column:brandcode" form:"brandcode"`                         // 品牌编码
	UnitCode          string `json:"unitcode" gorm:"column:unitcode" form:"unitcode"`                            // 单位编码
	UnitName          string `json:"unitname" gorm:"column:unitname" form:"unitname"`                            // 单位名称
	SupplierCode      string `json:"suppliercode" gorm:"column:suppliercode" form:"suppliercode"`                // 供应商编码
	SupplierName      string `json:"suppliername" gorm:"column:suppliername" form:"suppliername"`                // 供应商名称
	BuySpec           string `json:"buyspec" gorm:"column:buyspec" form:"buyspec"`                               // 采购规格
	CommodityType     string `json:"commoditytype" gorm:"column:commoditytype" form:"commoditytype"`             // 商品类型
	CommissionRate    string `json:"commissionrate" gorm:"column:commissionrate" form:"commissionrate"`          // 佣金率
	SpecLevel         string `json:"speclevel" gorm:"column:speclevel" form:"speclevel"`                         // 规格等级
	Pricing           string `json:"pricing" gorm:"column:pricing" form:"pricing"`                               // 定价方式
	CommodityStatus   string `json:"commoditystatus" gorm:"column:commoditystatus" form:"commoditystatus"`       // 商品状态
	BusinessModel     string `json:"businessmodel" gorm:"column:businessmodel" form:"businessmodel"`             // 商业模式
	BusinessModelName string `json:"businessmodelname" gorm:"column:businessmodelname" form:"businessmodelname"` // 商业模型名称
	InTaxRate         string `json:"intaxrate" gorm:"column:intaxrate" form:"intaxrate"`                         // 进税率
	OutTaxRate        string `json:"outtaxrate" gorm:"column:outtaxrate" form:"outtaxrate"`                      // 销税率
	StorageType       string `json:"storagetype" gorm:"column:storagetype" form:"storagetype"`                   // 存储类型
	ValidTime         string `json:"validtime" gorm:"column:validtime" form:"validtime"`                         // 有效时间
	Required          string `json:"required" gorm:"column:required" form:"required"`                            // 是否必填
	StorageManage     string `json:"storagemanage" gorm:"column:storagemanage" form:"storagemanage"`             // 存储管理
	ServiceTime       string `json:"servicetime" gorm:"column:servicetime" form:"servicetime"`                   // 服务时间
	ServiceUnit       string `json:"serviceunit" gorm:"column:serviceunit" form:"serviceunit"`                   // 服务单位
	UnitLevel         string `json:"unitlevel" gorm:"column:unitlevel" form:"unitlevel"`                         // 单位等级
	PurchaseType      string `json:"purchasetype" gorm:"column:purchasetype" form:"purchasetype"`                // 采购类型
	DeliveryType      string `json:"deliverytype" gorm:"column:deliverytype" form:"deliverytype"`                // 配送类型
	AlarmTime         string `json:"alarmtime" gorm:"column:alarmtime" form:"alarmtime"`                         // 报警时间
	SalePrice         string `json:"saleprice" gorm:"column:saleprice" form:"saleprice"`                         // 销售价格
	SkuCode           string `json:"skucode" gorm:"column:skucode" form:"skucode"`                               // SKU编码
	Barcode           string `json:"barcode" gorm:"column:barcode" form:"barcode"`                               // 条形码
	BuyPrice          string `json:"buyprice" gorm:"column:buyprice" form:"buyprice"`                            // 采购价格
	UnitCodesConfig   string `json:"unitcodesconfig" gorm:"column:unitcodesconfig" form:"unitcodesconfig"`       // 单位配置
	Plu               string `json:"plu" gorm:"column:plu" form:"plu"`                                           // PLU
	DeptName          string `json:"deptname" gorm:"column:deptname" form:"deptname"`                            // 部门名称
	DeptCode          string `json:"deptcode" gorm:"column:deptcode" form:"deptcode"`                            // 部门编码

	CarouselImages      common.Attribute `gorm:"column:carousel_images;comment:'轮播图的图片链接数组'" form:"carousel_images" json:"carousel_images"`
	AttributeFields     common.Attribute `gorm:"column:attribute_fields;comment:'商品属性的 JSON 数据'" form:"attribute_fields" json:"attribute_fields"`
	Specification       string           `gorm:"column:specification;comment:'规格参数，富文本格式'" form:"specification" json:"specification"`
	DetailImageUrl      string           `gorm:"column:detail_image_url;comment:'商品详情页的大图链接'" form:"detail_image_url" json:"detail_image_url"`
	IsAvailable         int              `gorm:"column:is_available;default:1;comment:'是否可用，默认可用'" form:"is_available" json:"is_available"`
	IsNew               int              `gorm:"column:is_new;default:1;comment:'是否上新，默认不是上新'" form:"is_new" json:"is_new"`
	IsRecommended       int              `gorm:"column:is_recommended;default:1;comment:'是否推荐，默认不推荐'" form:"is_recommended" json:"is_recommended"`
	Rating              float64          `gorm:"column:rating;default:0.0;comment:'综合评分，默认为0.0'" form:"rating" json:"rating"`
	FavoritesCount      int              `gorm:"column:favorites_count;default:0;comment:'收藏数，默认为0'" form:"favorites_count" json:"favorites_count"`
	LikesCount          int              `gorm:"column:likes_count;default:0;comment:'点赞数，默认为0'" form:"likes_count" json:"likes_count"`
	SoldCount           int              `gorm:"column:sold_count;default:0;comment:'已售数量，默认为0'" form:"sold_count" json:"sold_count"`
	Ingredients         string           `gorm:"column:ingredients;comment:'原材料'" form:"ingredients" json:"ingredients"`
	Allergens           string           `gorm:"column:allergens;comment:'过敏原'" form:"allergens" json:"allergens"`
	PreparationTime     string           `gorm:"column:preparation_time;comment:'准备时间'" form:"preparation_time" json:"preparation_time"`
	Popularity          int              `gorm:"column:popularity;default:1;comment:'受欢迎程度，默认为0'" form:"popularity" json:"popularity"`
	SpecialInstructions string           `gorm:"column:special_instructions;comment:'特殊说明'" form:"special_instructions" json:"special_instructions"`
	IsListed            int              `gorm:"column:is_listed;default:1;comment:'是否上架，默认不上架'" form:"is_listed" json:"is_listed"`
	orm.SoftDeletes
}
